Don't hide widgets in dispose()
authorMatthias Clasen <mclasen@redhat.com>
Tue, 10 Nov 2020 20:07:07 +0000 (15:07 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 11 Nov 2020 15:35:54 +0000 (10:35 -0500)
This is leftover code from when widgets were hidden
by default, and was setting them back to their initial
state.

This is getting in the way now, as hiding the widget
updates the HIDDEN accessible state, which ends up
re-creating the at context that we've already disposed
of, leading to memory leaks.

gtk/gtkwidget.c

index c29cc88ec0cb8921b4c951c783db57c42530cddf..8d6e4067d5bd62cff3be20cdbb46fe2954fee748 100644 (file)
@@ -7040,8 +7040,6 @@ gtk_widget_dispose (GObject *object)
 
   if (priv->parent)
     gtk_widget_unparent (widget);
-  else if (_gtk_widget_get_visible (widget))
-    gtk_widget_hide (widget);
 
   while (priv->paintables)
     gtk_widget_paintable_set_widget (priv->paintables->data, NULL);